package com.xr.core.system.mapper;

import com.xr.core.system.common.base.MyBaseMapper;
import com.xr.core.system.entity.roleModule.Role;

import java.util.List;
import java.util.Map;

/**
 * 角色表(Role)表数据库访问层
 */
public interface RoleMapper extends MyBaseMapper<Role> {

    /**
     * 移除当前角色已选权限
     *
     * @param id 角色id
     * @return
     */
    void removeRolePermissionForRole(Long id);

    /**
     * 给指定角色分配权限
     *
     * @param dataList
     * @return
     */
    int assignmentPermissionForRole(List<Map<String, Object>> dataList);

    /**
     * 获取当前角色已选的权限
     *
     * @param id
     * @return
     */
    List<Long> listCheckedPermissionForRole(Long id);

    /**
     * 获取用户关联的角色
     *
     * @param id 用户id
     * @return
     */
    List<Long> getRoleByUserId(Long id);

    /**
     * 通过角色code查询角色的所有权限
     *
     * @param code 角色code
     * @return 权限code
     */
    List<String> permissionCodeByRoleCode(String code);

}

